SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TMDOCU_PROV_Q33]                                                                
/*-------------------------------------------------------*/                                                                
/*---Empresa               OFISIS S.A.                --*/                                                                
/*---Cliente                               --*/                                                                
/*---Sistema               Tesoreria                  --*/                                                                
/*---M¢dulo                Empresa                    --*/                                                                
/*---Programa              ANALITICO DE CTAS. x PAGOAR--*/                                                                
/*---Script                SP_TMDOCU_PROV_Q33.sql     --*/                                                                
/*---Nombre SP             SP_TMDOCU_PROV_Q33         --*/                                                                
/*---Desarrollado por      REYNALDO MENACHO LUYO      --*/                                                                
/*---Fecha Creaci¢n        20/11/2001                 --*/                                                                
/*---Base Datos            SQL_SERVER               --*/                                                                
/*---Versi¢n               2000                       --*/                                                                
/*---Invoca a SP                                      --*/                                                                
/*-------------------------------------------------------*/                                                                
                                                                
/*-------------------------------------------------------*/                                                                
/*---Modificado 1 por           --*/                                                                
/*---Fecha Modificaci¢n         --*/                                                                 
/*---Detalle Modificaci¢n       --*/                                                                
/*-------------------------------------------------------*/                                                                
                                                                
/*-------------------------------------------------------*/                                                                
/*--- Drop Proc SP_TMDOCU_PROV_Q33                      --*/                                                                
/*---Grant all on SP_TMDOCU_PROV_Q33 to public         --*/                                                                 
/*--- ---EXECUTE SP_TMDOCU_PROV_Q33 "01", " Where TMDOCP_GENE.CO_PROV >= '20100049181' And TMDOCP_GENE.CO_PROV <= '20100049181'",   
/*---  SP_TMDOCU_PROV_Q33 '01','Where 1 = 1 ','','SOL','01/01/2010','07/22/2010','L','1','P', 'D','N','0'	---*/
   '', 'SOL', '2009-01-01', '2010-07-15', 'R','1', 'P', 'D' ,'N',0  --*/      
/*-------------------------------------------------------*/                                                                
@ISCO_EMPR  TD_VC_002,                                                                 
@ISCA_WHER_0001  VARCHAR(255),                                                                
@ISCA_WHER_0002  VARCHAR(255),                                                                
@ISCO_MONE  TD_VC_003,                                                                
@IDFE_INIC  TD_DT_001,                                                                
@IDFE_FINA  TD_DT_001,                                                                
@ISTI_DOCU TD_VC_001,                                                                
@ISDE_ORDE TD_VC_001,                                                                
@ISTI_AUXI_PROV TD_VC_001,                                                                
@ISTI_REPO  TD_VC_001,       
@ISST_USUA TD_VC_001,                                          
@INFA_USUA TD_NU_009_004                    
                                                 
AS              
                                                                
CREATE TABLE #TWDOCU_PROV_Q33_1                                                                 
 ( CO_EMPR      varchar(3) NULL,                                                                
   CO_TIPO_DOCU varchar(3) NULL ,                                                                
   NU_DOCU_PROV varchar(20) NULL,                                                                
   CO_PROV varchar(20) NULL ,                                                                
   FE_EMIS datetime NULL,                                                               
   FE_PAGO datetime NULL,                                            
   CO_MONE varchar(03) NULL,                        
   FA_TIPO_CAMB numeric(9,4) NULL,                                                                
   FA_CAMB_EXTR numeric(9,4) NULL,                                                                
   IM_COMP numeric(16,4) DEFAULT 0,                                                           
   IM_CHED numeric(16,4) DEFAULT 0,                                 
   IM_RENO numeric(16,4) DEFAULT 0,                                                                
   IM_PAGO numeric(16,4) DEFAULT 0,                                                                
   IM_LETR numeric(16,4) DEFAULT 0,                                   
   IM_ANTC numeric(16,4) DEFAULT 0,                                                                
   IM_AJUS numeric(16,4) DEFAULT 0,                                                        
   IM_APLI numeric(16,4) DEFAULT 0,                                                                
   TI_DETA varchar(2) NULL)                                                                
                                                                  
CREATE INDEX IX_#TWDOCU_PROV_Q33_1                                               
ON #TWDOCU_PROV_Q33_1 (CO_EMPR, FE_EMIS, CO_TIPO_DOCU, NU_DOCU_PROV)                                                                
WITH FILLFACTOR = 70                                                                
                                                                
CREATE INDEX IX_#TWDOCU_PROV_Q33_2                                                                 
ON #TWDOCU_PROV_Q33_1 (CO_EMPR, FE_EMIS, NU_DOCU_PROV)                                                                
WITH FILLFACTOR = 70                                                                
                                                          
CREATE TABLE #TWTXMVTO_DIFE_PROV                                                                
 ( CO_EMPR      varchar(3) NULL,                                                                            
   NU_CNTB_EMPR  INTEGER NULL,                                                               
   CO_UNID_CNTB varchar(3) NULL ,                                                                            
   CO_OPRC_CNTB varchar(3) NULL,                                                     
   NU_ANNO INTEGER NULL ,                                                                            
   NU_MESE INTEGER NULL,                                                                            
   FE_ASTO_CNTB datetime NULL,                                                         
   TI_AUXI_EMPR varchar(01) NULL,                                                                                  
   CO_AUXI_EMPR varchar(20) NULL,                                                                     
   TI_DOCU varchar(03) NULL,                                                                                               
   NU_DOCU varchar(20) NULL,                                                                                               
   CO_MONE varchar(03) NULL,                                                         
   FA_CAMB numeric(15,6) NULL,                                                                
   TI_OPER varchar(03) NULL,         
   IM_MVTO_CNTB numeric(16,4) NULL )                    
                
CREATE INDEX IX_TWTXMVTO_DIFE_PROV_1                                          
ON #TWTXMVTO_DIFE_PROV (CO_AUXI_EMPR,CO_EMPR, TI_DOCU, NU_DOCU)                                                                      
             
WITH FILLFACTOR = 70                                                        
                                                          
                                                                
CREATE TABLE #TWDOCU_PROV_Q33_2                                                                 
 ( CO_EMPR      varchar(3) NULL,                                                                
   CO_PROV varchar(20) NULL,                                                       
   NU_DOCU_PROV varchar(20) NULL,                                                                 
   CO_TIPO_DOCU varchar(3) NULL,                                     
   IM_SAIN numeric(16,4) NULL,                                                                
   IM_SAIN_EXTR numeric(16,4) NULL,                                                                
   IM_SAIN_NETO numeric(16,4) NULL)                                                                
                                                                
CREATE TABLE #TWDOCU_PROV_Q33_2A                                            
 ( CO_EMPR      varchar(3) NULL,                                                                
   CO_PROV varchar(20) NULL,                                
   NU_DOCU_PROV varchar(20) NULL,                                                                 
   CO_TIPO_DOCU varchar(3) NULL,                                                                
   IM_SAIN numeric(16,4) NULL,                                                      
   IM_SAIN_EXTR numeric(16,4) NULL,                                                                
   IM_SAIN_NETO numeric(16,4) NULL)                                                                
                                        
CREATE TABLE #TWDOCU_PROV_Q33_3                                                                 
 ( CO_EMPR      varchar(3) NULL,                                                                
   CO_TIPO_DOCU varchar(3) NULL,                                                                
   NU_DOCU_PROV varchar(20) NULL,                                                                
   CO_PROV varchar(20) NULL ,                                                                
   FE_EMIS datetime NULL,                                               
   FE_PAGO datetime NULL,                                                                
   CO_MONE varchar(03) NULL,                                                                
   FA_TIPO_CAMB numeric(9,4) NULL,                                         
   FA_CAMB_EXTR numeric(9,4) NULL,                                                                
   IM_SAIN numeric(16,4) DEFAULT 0,                                                                
   IM_COMP numeric(16,4) DEFAULT 0,                                                                
   IM_CHED numeric(16,4) DEFAULT 0,                                                                
   IM_RENO numeric(16,4) DEFAULT 0,                                                                
   IM_PAGO numeric(16,4) DEFAULT 0,                                                                
   IM_LETR numeric(16,4) DEFAULT 0,                                           
   IM_ANTC numeric(16,4) DEFAULT 0,                                                                
   IM_AJUS numeric(16,4) DEFAULT 0,                                                                
   IM_AJUS_DICA numeric(16,4) DEFAULT 0,       
   IM_APLI numeric(16,4) DEFAULT 0,                                                                
   IM_CONV numeric(16,4) DEFAULT 0)                                                                
                                                          
CREATE INDEX IX_#TWDOCU_PROV_Q33_3                                                              
ON #TWDOCU_PROV_Q33_3 (CO_EMPR, CO_PROV)                                                                            
WITH FILLFACTOR = 70                          
                                                          
                                                                
DECLARE                                                                 
                                                                
@VSTI_SALD TD_VC_020,                                                        
@VSFL_FECH TD_VC_020,                                   
                                    
@VSDE_ORDE TD_VC_100,                                                                
@VNNU_ANNO_INIC TD_IN_001,                                                                
@VNNU_MESE_INIC TD_IN_001,                                              
@VNNU_ANNO_FINA TD_IN_001,                                                                
@VNNU_MESE_FINA TD_IN_001,                                                                
@VNNU_NULL TD_IN_001,                                                                
                                      
@CSCO_EMPR TD_VC_002,                                                                
@CSCO_PROV TD_VC_020,                                                                
@CSCO_TIPO_DOCU TD_VC_003,                                                                
@CSNU_DOCU_PROV TD_VC_020,                                                                
@CNIM_COMP  TD_NU_016_004,                                                                 
@CNIM_CHED TD_NU_016_004,                                                                
@CNIM_RENO TD_NU_016_004,                                                                
@CNIM_PAGO TD_NU_016_004,                                                                
@CNIM_LETR TD_NU_016_004,                                                                
@CNIM_ANTC TD_NU_016_004,                                                                
@CNIM_AJUS TD_NU_016_004,                                                                
@CNIM_APLI TD_NU_016_004,                                                                
                                                                
@OSTI_DOCU_NCRE TD_VC_003,                  
@OSTI_DOCU_LETR TD_VC_003,                                                               
        
@VSCA_WHER VARCHAR(600),                                                                
@VSFE_INIC VARCHAR(10),                                                                
@VSFE_FINA VARCHAR(10),                                                          
@VSNU_ANNO_INIC TD_VC_004,                                                                         
@VSNU_ANNO_FINA TD_VC_004,                                     
@VSNU_MESE_INIC TD_VC_002,                                                                         
@VSNU_MESE_FINA TD_VC_002  ,                                  
@VSCO_MONE_DEFA TD_VC_003,                                        
@VSCO_MONE_EXTR TD_VC_003,                                  
@VSTI_CAMB TD_VC_001,                                        
@VSTI_ORIG TD_VC_001                                        
                                                                
                                                                
EXEC SP_TTDOCU_CNTB_Q01 4, @OSTI_DOCU_NCRE OUTPUT                                                                
EXEC SP_TTDOCU_CNTB_Q01 6, @OSTI_DOCU_LETR OUTPUT                                                                
                    
                    
SELECT * INTO #TMDOCP_AUXI                    
FROM TMDOCP_GENE                    
WHERE CO_EMPR = @ISCO_EMPR                    
                    
                                                               
SELECT @VSCA_WHER = REPLACE(@ISCA_WHER_0001 + @ISCA_WHER_0002, 'TMDOCP_GENE', '#TMDOCP_AUXI')                                    
                                   
                                      
IF @ISTI_DOCU = 'R'                 
    SELECT @VSCA_WHER = @VSCA_WHER + " And #TMDOCP_AUXI.CO_TIPO_DOCU  != '" + @OSTI_DOCU_LETR + "' "                               
                        
ELSE        
    SELECT @VSCA_WHER = @VSCA_WHER + " And #TMDOCP_AUXI.CO_TIPO_DOCU = '" + @OSTI_DOCU_LETR + "' "                                 
                                      
                                                                
Select  @VSFE_INIC = Convert (varchar(10), @IDFE_INIC, 103),                                                                
 @VSFE_FINA = Convert (varchar(10), @IDFE_FINA, 103)                                                                
                                                                
                                  
SELECT @VSCO_MONE_DEFA = CO_MONE_DEFA,  @VSCO_MONE_EXTR = CO_MONE_EXTR,                                  
@VSTI_CAMB = TI_CAMB,  @VSTI_ORIG = TI_ORIG                                  
FROM TMPARA_TESO                                        
WHERE CO_EMPR = @ISCO_EMPR                                        
                                  
                                                                
SELECT @VNNU_ANNO_INIC = YEAR (@IDFE_INIC),                                 
@VNNU_MESE_INIC = MONTH (@IDFE_INIC),                                                                
@VNNU_ANNO_FINA = YEAR (@IDFE_FINA),                                                                
@VNNU_MESE_FINA = MONTH (@IDFE_FINA),                                                                
@VSNU_ANNO_INIC =  CONVERT (VARCHAR(4),@VNNU_ANNO_INIC ) ,                                           
@VSNU_MESE_INIC = CONVERT (VARCHAR(2),@VNNU_MESE_INIC ),                                                                            
@VSNU_ANNO_FINA = CONVERT (VARCHAR(4),@VNNU_ANNO_FINA ),                                                                 
@VSNU_MESE_FINA = CONVERT (VARCHAR(2), @VNNU_MESE_FINA )                                                                            
                                                  
                                                                
IF @ISDE_ORDE = '1'                                                                
     SELECT @VSDE_ORDE = ' ORDER BY T1.CO_EMPR, T1.CO_PROV '                                                                
ELSE                                                                
 SELECT @VSDE_ORDE = ' ORDER BY T1.CO_EMPR, T3.NO_CORT_PROV '                      
                                                                
IF @ISTI_REPO = 'D'                                                                
 SELECT @VSDE_ORDE = @VSDE_ORDE + ', T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV '                                                            
           
                                                                
                                                                
-- TIPOS DE DETALLE(TI_DETA = '1' AL '7')                                             
--1.- DOCS DE REGISTRO DE COMPAS                                                                
--2.- CHEQUES DEVUELTOS 'CHD'                                                                
--3.- PAGOS BANCOS                                                                  
--4.- PAGOS CAJA                                                                  
--5.- LETRAS                                                           
--6.- ANTICIPOS BANCOS                            
--7.- ANTICIPOS CAJA                                                                
--8.- AJUSTES BANCOS                                                           
--9.- AJUSTES BANCOS                                                                
--10.- APLICAIONES                                                                
--11.- DEVOLUCION DE ANTICIPOS                                                                
--12.- RENDICION DE GASTOS                                                                
                          
                                 
                                                        
INSERT INTO #TWTXMVTO_DIFE_PROV                                                                 
(CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,                                                              
NU_ANNO, NU_MESE, FE_ASTO_CNTB, TI_AUXI_EMPR, CO_AUXI_EMPR,                                                                 
TI_DOCU, NU_DOCU, CO_MONE, FA_CAMB, TI_OPER, IM_MVTO_CNTB)                       
SELECT  #TMDOCP_AUXI.CO_EMPR, #TMDOCP_AUXI.NU_CNTB_EMPR, #TMDOCP_AUXI.CO_UNID_CNTB, #TMDOCP_AUXI.CO_OPRC_CNTB,                       
                                                 
#TMDOCP_AUXI.NU_ANNO, #TMDOCP_AUXI.NU_MESE, #TMDOCP_AUXI.FE_ASTO_CNTB,                                                         
#TMDOCP_AUXI.TI_AUXI_EMPR, #TMDOCP_AUXI.CO_AUXI_EMPR, #TMDOCP_AUXI.TI_DOCU, #TMDOCP_AUXI.NU_DOCU,                                    
                                   
#TMDOCP_AUXI.CO_MONE, #TMDOCP_AUXI.FA_CAMB, #TMDOCP_AUXI.TI_OPER, #TMDOCP_AUXI.IM_MVTO_CNTB                                       
FROM  TXMVTO_CNTB #TMDOCP_AUXI  WITH (NOLOCK)                                                  
 WHERE #TMDOCP_AUXI.CO_EMPR = @ISCO_EMPR                                                                          
  AND    CONVERT(VARCHAR(1),#TMDOCP_AUXI.NU_CNTB_EMPR)= '1'                                                                
  AND  #TMDOCP_AUXI.CO_UNID_CNTB = '001'                                                                          
  AND    #TMDOCP_AUXI.CO_OPRC_CNTB = '013'                                                    
  AND  ((#TMDOCP_AUXI.NU_ANNO < @VNNU_ANNO_FINA ) OR  (#TMDOCP_AUXI.NU_ANNO  = @VNNU_ANNO_FINA AND  #TMDOCP_AUXI.NU_MESE  <= @VNNU_MESE_FINA))                                                           
--AND  (CONVERT(VARCHAR(4),#TMDOCP_AUXI.NU_ANNO)  < @VSNU_ANNO_FINA  OR  (CONVERT(VARCHAR(4),#TMDOCP_AUXI.NU_ANNO)  = @VSNU_ANNO_FINA AND  CONVERT(VARCHAR(2),#TMDOCP_AUXI.NU_MESE)  <= @VSNU_MESE_FINA)) AND  #TMDOCP_AUXI.TI_AUXI_EMPR = @ISTI_AUXI_PROV    

IF @ISTI_DOCU = 'R'                                                                
BEGIN                                                                
-- TMDOCU_PROV                                                                
--1.- DOCS DE REGISTRO DE COMPAS                                                         
                                          
    EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
    (CO_EMPR, CO_TIPO_DOCU, CO_PROV, NU_DOCU_PROV, FE_EMIS, FE_PAGO,                                                                 
       
    CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_COMP, TI_DETA)                                                                
    Select #TMDOCP_AUXI.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU , #TMDOCP_AUXI.CO_PROV, #TMDOCP_AUXI.NU_DOCU_PROV,        
#TMDOCP_AUXI.FE_REGI_COMP, #TMDOCP_AUXI.FE_PROG_PAGO,                                   
    #TMDOCP_AUXI.CO_MONE, #TMDOCP_AUXI.FA_TIPO_CAMB, #TMDOCP_AUXI.FA_CAMB_EXTR, ( PatIndex(T2.ST_SIGN,'S') -        
PatIndex(T2.ST_SIGN,'N'))*#TMDOCP_AUXI.IM_TOTA,                                                                
    '1'                                   
    From  #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T2 WITH (NOLOCK) "                                                                
    + @VSCA_WHER + "                                               
    And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
    And #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                                                
    And #TMDOCP_AUXI.FE_REGI_COMP <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                  
                     
    And #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'                                                                
    AND #TMDOCP_AUXI.CO_TIPO_DOCU = T2.TI_DOCU                                                                
    And T2.ST_GENE_CXPA = 'S'              
   AND   #TMDOCP_AUXI.CO_TIPO_DOCU != 'CRE' ")                      
                                          
                                          
                                             
--2.- CHEQUES DEVUELTOS 'CHD'                                                                
    EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1           
    (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS, FE_PAGO,                                                                 
       
    CO_MONE, FA_TIPO_CAMB, IM_CHED, TI_DETA)                                                                
    Select #TMDOCP_AUXI.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU , #TMDOCP_AUXI.NU_DOCU_PROV , #TMDOCP_AUXI.CO_PROV,        
#TMDOCP_AUXI.FE_EMIS, #TMDOCP_AUXI.FE_PROG_PAGO,                                                                 
    #TMDOCP_AUXI.CO_MONE, #TMDOCP_AUXI.FA_TIPO_CAMB, ( PatIndex(T2.ST_SIGN,'S') - PatIndex(T2.ST_SIGN,'N')        
)*-#TMDOCP_AUXI.IM_TOTA,                                                                
   '2'                                                                
    From  #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T2 WITH (NOLOCK) "                                                             
    + @VSCA_WHER + "                                                                
    And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
    And   #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                                                
    AND   #TMDOCP_AUXI.CO_TIPO_DOCU = 'CHD'                                                                
    And #TMDOCP_AUXI.FE_REGI_COMP <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                  
                     
    And   #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'                                                                
    AND   #TMDOCP_AUXI.CO_TIPO_DOCU = T2.TI_DOCU")                                                                
                                                                
                                                                
--11.- DEVOLUCION DE ANTICIPOS                                                  
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                                                                
  Select T1.CO_EMPR, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, #TMDOCP_AUXI.CO_PROV, T2.FE_OPER,                                             
                          
         #TMDOCP_AUXI.CO_MONE, T2.FA_TIPO_CAMB, T1.IM_DEVO, '11'                 
  From   TDDEVO_ANTC T1 WITH (NOLOCK) , TCMOVI_BANC T2 WITH (NOLOCK), TMCNTA_BANC T3 WITH (NOLOCK), #TMDOCP_AUXI WITH        
(NOLOCK), TTDOCU_CNTB T5 WITH (NOLOCK) "                                                                
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  AND    (T5.ST_DOCU_0015 = 'S' OR T5.ST_DOCU_0017 = 'S')                                                                
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                     
  And    T2.TI_SITU = 'ACT'                                                                 
  And    T1.CO_EMPR = T2.CO_EMPR                                                                  
  And    T1.CO_BANC = T2.CO_BANC                                                                  
  And    T1.NU_CNTA_BANC  = T2.NU_CNTA_BANC                                                                  
  And    T1.AA_BNCO = T2.AA_BNCO                                                
  And    T1.MM_BNCO = T2.MM_BNCO                         
  And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC                                                    
  And    T1.NU_COMP_BANC = T2.NU_COMP_BANC                               
                                                                
  And    T1.CO_EMPR = T3.CO_EMPR                                                                  
  And    T1.CO_BANC = T3.CO_BANC                                        
  And    T1.NU_CNTA_BANC  = T3.NU_CNTA_BANC                                                                
              
  AND    T2.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND    T2.CO_ENTI = #TMDOCP_AUXI.CO_PROV     
  AND    T1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                              
  AND    T1.CO_TIPO_DOCU = #TMDOCP_AUXI.CO_TIPO_DOCU                                    
  AND    T1.NU_DOCU_PROV = #TMDOCP_AUXI.NU_DOCU_PROV                                                        
                                                                 
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU ")                                                         
                       
  
  
--11.5.- DEVOLUCION DE ANTICIPOS  CAJA                                                
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                                                                
  Select T1.CO_EMPR, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, #TMDOCP_AUXI.CO_PROV, T2.FE_OPER,                                             
                          
         #TMDOCP_AUXI.CO_MONE, T2.FA_TIPO_CAMB, T1.IM_DEVO, '11'                 
  From   TDDEVA_CAJP T1 WITH (NOLOCK) , TCMOVI_CAJA T2 WITH (NOLOCK), TMCAJA T3 WITH (NOLOCK), #TMDOCP_AUXI WITH        
(NOLOCK), TTDOCU_CNTB T5 WITH (NOLOCK) "                                                                
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  AND    (T5.ST_DOCU_0015 = 'S' OR T5.ST_DOCU_0017 = 'S')                                                                
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                     
  And    T2.TI_SITU = 'ACT'                                                                 
  And  T1.CO_EMPR = T2.CO_EMPR            
  And  T1.CO_CAJA = T2.CO_CAJA            
  And  T1.AA_CAJA = T2.AA_CAJA          
  And  T1.MM_CAJA = T2.MM_CAJA           
  And  T1.TI_MOVI  = T2.TI_MOVI           
  And  T1.NU_COMP_CAJA = T2.NU_COMP_CAJA                               
                                                                
  And  T1.CO_EMPR = T3.CO_EMPR            
  And  T1.CO_CAJA = T3.CO_CAJA                                                                 
              
  AND    T2.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                           
  AND    T2.CO_ENTI = #TMDOCP_AUXI.CO_PROV        
  AND    T1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                           
  AND    T1.CO_TIPO_DOCU = #TMDOCP_AUXI.CO_TIPO_DOCU                                    
  AND    T1.NU_DOCU_PROV = #TMDOCP_AUXI.NU_DOCU_PROV                                                        
                                                                 
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU ")   
                                           
--12.- RENDICION DE GASTOS                                                                
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_ANTC, TI_DETA)                                                                
  SELECT T1.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU, #TMDOCP_AUXI.NU_DOCU_PROV, T2.CO_ENTI, T1.FE_REND_GAST,                              
                                         
    T2.CO_MONE, T2.FA_CAMB_DOCU, T2.IM_DOCU, '12'                                                                
  From   TCREND_GAST T1 WITH (NOLOCK) , TDREND_GAST T2 WITH (NOLOCK) , #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH        
(NOLOCK) "                                                                
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  And    T1.FE_REND_GAST  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                          
             
  AND    T1.TI_SITU = 'ACT'                                                                
  AND    T1.CO_EMPR = T2.CO_EMPR                                                                
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                                                                
  AND    T1.NU_REND_GAST = T2.NU_REND_GAST                                                                
  AND    T1.FE_REND_GAST = T2.FE_REND_GAST                                                                
  AND    T2.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND    T2.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                 
  AND    T2.CO_TIPO_DOCU = #TMDOCP_AUXI.CO_TIPO_DOCU                                                                
  AND    T2.NU_DOCU_PROV = #TMDOCP_AUXI.NU_DOCU_PROV                                                  
  AND    #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'                                                                 
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU                                                                
--  AND   T5.ST_REGI_COMP = 'S'                                    
 ")                                                                
                                                                
                                                
END                  
                                                                
IF @ISTI_DOCU = 'L'   BEGIN                                                                
                                                                
-- TIPOS DE DETALLE(TI_DETA = '1' AL '6')                   
--1.- LETRAS DEL MES                                                                
--2.- PAGOS                                                                
--3.- ADELANTOS                                                                
--4.- AJUSTES                                                        
--5.- APLICACIONES (ANTICIPOS, RENOVACIONES)          
--6.- RENOVACION DE LETRAS                                                                
                
--1.- LETRAS DEL MES                                          
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_LETR, TI_DETA)                                                                
  Select #TMDOCP_AUXI.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU, #TMDOCP_AUXI.NU_DOCU_PROV, #TMDOCP_AUXI.CO_PROV,        
#TMDOCP_AUXI.FE_EMIS,                                                                
  #TMDOCP_AUXI.CO_MONE, #TMDOCP_AUXI.FA_TIPO_CAMB, #TMDOCP_AUXI.IM_TOTA, '1A'                                                      
                 
  From  #TMDOCP_AUXI WITH (NOLOCK) "                                                                
  + @VSCA_WHER + "                             
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  AND  #TMDOCP_AUXI.FE_EMIS <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                        
               
  AND  #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'              
  AND  NOT EXISTS ( SELECT NU_LETR_PROV                                                                
         FROM TDRENO_PROV              
         WHERE TDRENO_PROV.CO_EMPR =  '" + @ISCO_EMPR + "'              
        AND TDRENO_PROV.CO_EMPR = #TMDOCP_AUXI.CO_EMPR              
 AND TDRENO_PROV.CO_PROV = #TMDOCP_AUXI.CO_PROV              
 AND TDRENO_PROV.NU_LETR_PROV = #TMDOCP_AUXI.NU_DOCU_PROV)")                                                     
              
EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_RENO, TI_DETA)                                                                
  Select #TMDOCP_AUXI.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU, #TMDOCP_AUXI.NU_DOCU_PROV, #TMDOCP_AUXI.CO_PROV,        
#TMDOCP_AUXI.FE_EMIS,                                                                
  #TMDOCP_AUXI.CO_MONE, #TMDOCP_AUXI.FA_TIPO_CAMB, #TMDOCP_AUXI.IM_TOTA *-1, '1A'                                                  
                     
  From  #TMDOCP_AUXI WITH (NOLOCK) "                                         
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  AND  #TMDOCP_AUXI.FE_EMIS <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                        
               
  AND  #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'              
  AND  EXISTS ( SELECT NU_LETR_PROV                                                                
         FROM TDRENO_PROV              
         WHERE TDRENO_PROV.CO_EMPR =  '" + @ISCO_EMPR + "'              
        AND TDRENO_PROV.CO_EMPR = #TMDOCP_AUXI.CO_EMPR              
 AND TDRENO_PROV.CO_PROV = #TMDOCP_AUXI.CO_PROV              
 AND TDRENO_PROV.NU_LETR_PROV = #TMDOCP_AUXI.NU_DOCU_PROV)")                  
              
                              
--6.- RENOVACION DE LETRAS                                                                
/*  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,              
  CO_MONE, FA_TIPO_CAMB, IM_CHED, TI_DETA)                                                                
  SELECT T1.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU, #TMDOCP_AUXI.NU_DOCU_PROV, T1.CO_PROV, T1.FE_RENO,                                   
                 
  #TMDOCP_AUXI.CO_MONE, T1.FA_TIPO_CAMB, #TMDOCP_AUXI.IM_TOTA, '6'                                                                
  From   TCRENO_PROV T1 WITH (NOLOCK), TDRENO_PROV T2 WITH (NOLOCK), TMDOCP_GENE #TMDOCP_AUXI WITH (NOLOCK) "                        
                           
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                            
  AND    T1.CO_EMPR =  #TMDOCP_AUXI.CO_EMPR                                                                
  And    T1.FE_RENO <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                                
       
  AND    T1.TI_SITU != 'ANU'                                                                
  AND    T1.CO_EMPR = T2.CO_EMPR                                           
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                              
  AND    T1.CO_PROV = T2.CO_PROV                                                                
  AND    T1.NU_RENO = T2.NU_RENO                                                                
  AND    T1.FE_RENO = T2.FE_RENO                                                                
  AND    T2.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND  T2.CO_PROV = #TMDOCP_AUXI.CO_PROV                                                                
  AND    T2.NU_LETR_PROV = #TMDOCP_AUXI.NU_DOCU_PROV                                                                 
  AND    #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU' ")                                                                
*/                                                                
END                                                                
                                                                
                                                                
                                                                
--3.- PAGOS BANCOS                                                                  
                                                                
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_PAGO, TI_DETA)                                         
  Select T1.CO_EMPR, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI, T1.CO_ENTI, T2.FE_OPER,                                                       
                
  T1.CO_MONE_DOCU, T2.FA_TIPO_CAMB, T1.FA_CAMB_EXTR,                                                                 
  (PatIndex(T1.ST_CIER_DOCU, 'N')) * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_CONV_DOCU +               
                    
  (PatIndex(T1.ST_CIER_DOCU, 'S')) * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_SALD_DOCU,                
                                                        
  '3A'                                                         
  From   TDMOVI_BANC T1 WITH (NOLOCK) , TCMOVI_BANC T2 WITH (NOLOCK),  #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH        
(NOLOCK) "                                                                
    + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'         
  --And   #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                                                
  And    T1.TI_ENTI = '" + @ISTI_AUXI_PROV + "'                                                                
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                               
        
  And    T2.TI_SITU = 'ACT'                                                            
  And    T1.CO_EMPR = T2.CO_EMPR                                                                  
  And    T1.CO_BANC = T2.CO_BANC                   
  And    T1.NU_CNTA_BANC  = T2.NU_CNTA_BANC                 
  And    T1.AA_BNCO = T2.AA_BNCO                                                                
  And    T1.MM_BNCO = T2.MM_BNCO                                                                 
And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC                                                                 
  And    T1.NU_COMP_BANC = T2.NU_COMP_BANC                                               
  AND    T1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND    T1.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                
  AND    T1.TI_DOCU_ENTI = #TMDOCP_AUXI.CO_TIPO_DOCU                                                                
  AND    T1.NU_DOCU_ENTI = #TMDOCP_AUXI.NU_DOCU_PROV                                                               
  AND   ISNULL(RTRIM(LTRIM(T1.CO_CNTA_EMPR)),'') = ''                                                      
  AND   ISNULL(RTRIM(LTRIM(T1.TI_MOVI_OPER)),'') = ''                                                      
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU                                                                
--  AND  (T5.ST_REGI_COMP = 'S'  OR  #TMDOCP_AUXI.CO_TIPO_DOCU = 'LET')                                                          
             
  AND    NOT EXISTS ( SELECT T6.CO_EMPR                                                                
         FROM TTTIOP_AJUS T6                                                         
         WHERE T6.CO_EMPR = T2.CO_EMPR                                                                
         AND  T6.CO_TIPO_OPER = T2.CO_TIPO_OPER) ")                                                                
/*  UNION ALL                                                         
  Select T1.CO_EMPR, T1.CO_TIDO_DEST, T1.NU_DOCU_DEST, T1.CO_ENTI, T2.FE_AMAR,                                                       
                
         #TMDOCP_AUXI.CO_MONE, T2.FA_TIPO_CAMB, T1.IM_PAGO_DEST, '3B'                                  From TDAMAR_OCPR t1,        
TCAMAR_OCPR t2, TMDOCP_GENE #TMDOCP_AUXI "                                                                
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  And   #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                   
  And t2.FE_AMAR <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                                
  And t1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  And t1.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                
  And  t1.CO_TIDO_DEST = #TMDOCP_AUXI.CO_TIPO_DOCU                                                                
  And t1.NU_DOCU_DEST = #TMDOCP_AUXI.NU_DOCU_PROV                                                                
  And t1.CO_EMPR = t2.CO_EMPR                                                                
  And t1.NU_AMAR = t2.NU_AMAR                                                                
  And t2.TI_SITU != 'ANU' ")                                                                
*/                                                    
                                           
--4.- PAGOS CAJA             
                                                                
 EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_PAGO, TI_DETA)                                     
  Select T1.CO_EMPR, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI, T1.CO_ENTI, T2.FE_OPER,                                                       
                
  T1.CO_MONE_DOCU, T2.FA_TIPO_CAMB, 1,                  
  (PatIndex(T1.ST_CIER_DOCU, 'N')) * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_CONV_DOCU +               
                                                    
  (PatIndex(T1.ST_CIER_DOCU, 'S')) * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_SALD_DOCU,                
                     
  '4'                                                                
  From   TDMOVI_CAJA T1 WITH (NOLOCK), TCMOVI_CAJA T2 WITH (NOLOCK), #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH (NOLOCK)        
"                                           
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
--  And   #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                     
  And    T1.TI_ENTI = '" + @ISTI_AUXI_PROV + "'                                                                
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                               
        
 And    T2.TI_SITU = 'ACT'                                                                 
  And    T1.CO_EMPR = T2.CO_EMPR                                                                
  And    T1.CO_CAJA = T2.CO_CAJA                                                                
  And    T1.AA_CAJA = T2.AA_CAJA                                                                
  And    T1.MM_CAJA = T2.MM_CAJA                                                                 
  And    T1.TI_MOVI = T2.TI_MOVI           
  And    T1.NU_COMP_CAJA = T2.NU_COMP_CAJA                                                                
  And    T1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND    T1.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                
  AND    T1.TI_DOCU_ENTI = #TMDOCP_AUXI.CO_TIPO_DOCU                                                                
  And    T1.NU_DOCU_ENTI = #TMDOCP_AUXI.NU_DOCU_PROV                                                                
  AND   ISNULL(RTRIM(LTRIM(T1.CO_CNTA_EMPR)),'') = ''                                                      
  AND   ISNULL(RTRIM(LTRIM(T1.TI_MOVI_OPER)),'') = ''                                
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU                                                                
/*  AND  (T5.ST_REGI_COMP = 'S'                                                                
  OR  #TMDOCP_AUXI.CO_TIPO_DOCU = 'LET')                        */              
  AND    NOT EXISTS ( SELECT T6.CO_EMPR                               
      FROM TTTIOP_AJUS T6                                                                
      WHERE T6.CO_EMPR = T2.CO_EMPR                                                                
      AND  T6.CO_TIPO_OPER = T2.CO_TIPO_OPER)")                                                                
                                      
--5.- LETRAS                          
                                                                
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_LETR, TI_DETA)                                                                
  Select T1.CO_EMPR, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, T1.CO_PROV, T2.FE_CANJ,                                                       
      #TMDOCP_AUXI.CO_MONE, T2.FA_TIPO_CAMB,                                                              
CASE WHEN (#TMDOCP_AUXI.CO_TIPO_DOCU = 'CRE') THEN                
( PatIndex(#TMDOCP_AUXI.ST_SIGN,'S') - PatIndex(#TMDOCP_AUXI.ST_SIGN,'N') ) *                                             
( PatIndex(t1.ST_CIER_DOCU, 'N') *  t1.IM_CANJ_MDOC +                                                   
  PatIndex(t1.ST_CIER_DOCU, 'S') *  t1.IM_SALD_DOCU ) * -1              
ELSE  ( PatIndex(#TMDOCP_AUXI.ST_SIGN,'S') - PatIndex(#TMDOCP_AUXI.ST_SIGN,'N') ) *                                              
           
( PatIndex(t1.ST_CIER_DOCU, 'N') *  t1.IM_CANJ_MDOC +                                                   
  PatIndex(t1.ST_CIER_DOCU, 'S') *  t1.IM_SALD_DOCU ) END,                                    
  '5'       
  From   TDCANJ_PROV T1 WITH (NOLOCK), TCCANJ_PROV T2 WITH (NOLOCK), #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH (NOLOCK)        
 "                                                                
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
--  AND #TMDOCP_AUXI.CO_TIPO_DOCU != 'CRE'                                        
--  And   #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                                                
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU != 'CDR'                                                                
  AND    T2.FE_CANJ <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                                
       
  AND    T1.CO_EMPR = T2.CO_EMPR                                                                
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                                
  AND    T1.CO_PROV = T2.CO_PROV                                                                
  AND    T1.NU_CANJ = T2.NU_CANJ                                                                
  AND    T1.FE_CANJ = T2.FE_CANJ                                                                
  AND    T2.TI_SITU = 'ACT'                                                                 
  AND    T1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
AND    T1.CO_PROV = #TMDOCP_AUXI.CO_PROV                                                                
  AND    T1.CO_TIPO_DOCU = #TMDOCP_AUXI.CO_TIPO_DOCU                                                                 
  AND    T1.NU_DOCU_PROV = #TMDOCP_AUXI.NU_DOCU_PROV                                                                
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU                                           
  AND (#TMDOCP_AUXI.NU_REND_GAST IS NULL OR #TMDOCP_AUXI.NU_REND_GAST = '')                                                        
                            
")                                                                
              
                                        
                                        
--  AND  (T5.ST_REGI_COMP = 'S'                                                                
--  OR  #TMDOCP_AUXI.CO_TIPO_DOCU = 'LET')                                         
                                                                
                                                                
                                                                
--8.- AJUSTES BANCOS                                      
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_AJUS, TI_DETA)                                                                
  Select T1.CO_EMPR, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI, T1.CO_ENTI, T2.FE_OPER,                                                       
                
  T1.CO_MONE_DOCU, T2.FA_TIPO_CAMB,                                                                 
  (PatIndex(T1.ST_CIER_DOCU, 'N')) * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_CONV_DOCU +               
                                                          
  (PatIndex(T1.ST_CIER_DOCU, 'S')) * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_SALD_DOCU,                
         
  '8'                        
From   TDMOVI_BANC T1 WITH (NOLOCK), TCMOVI_BANC T2 WITH (NOLOCK), #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH (NOLOCK)         
"                                                                
    + @VSCA_WHER + "                                         
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                         
  And   #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                                                
  And    T1.TI_ENTI = '" + @ISTI_AUXI_PROV + "'                                                                
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                               
        
  And    T2.TI_SITU = 'ACT'                                                                 
  And    T1.CO_EMPR = T2.CO_EMPR                                                                  
  And T1.CO_BANC = T2.CO_BANC                                                                  
  And    T1.NU_CNTA_BANC  = T2.NU_CNTA_BANC                                                                  
  And    T1.AA_BNCO = T2.AA_BNCO                                             
  And    T1.MM_BNCO = T2.MM_BNCO                                                                 
  And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC                                                                 
  And    T1.NU_COMP_BANC = T2.NU_COMP_BANC                                                                
  AND    T1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND    T1.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                
  AND    T1.TI_DOCU_ENTI = #TMDOCP_AUXI.CO_TIPO_DOCU                                                                
  AND    T1.NU_DOCU_ENTI = #TMDOCP_AUXI.NU_DOCU_PROV                                                          
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU                                                                
--  AND  (T5.ST_REGI_COMP = 'S'   OR  #TMDOCP_AUXI.CO_TIPO_DOCU = 'LET')                                  
  AND    EXISTS ( SELECT T6.CO_EMPR                                                                
        FROM TTTIOP_AJUS T6                                                                
         WHERE T6.CO_EMPR = T2.CO_EMPR                                                                
         AND  T6.CO_TIPO_OPER = T2.CO_TIPO_OPER) ")                                                                
                                                                
--9.- AJUSTES CAJA                                                                
                                                                
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_AJUS, TI_DETA)                                                                
  Select T1.CO_EMPR, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI, T1.CO_ENTI, T2.FE_OPER,                                                       
                
  T1.CO_MONE_DOCU, T2.FA_TIPO_CAMB,                               
  (PatIndex(T1.ST_CIER_DOCU, 'N')) * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_CONV_DOCU +               
                                                  
  (PatIndex(T1.ST_CIER_DOCU, 'S')) * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_SALD_DOCU,                
                                     
  '9'                                                                
  From   TDMOVI_CAJA T1 WITH (NOLOCK), TCMOVI_CAJA T2 WITH (NOLOCK), #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH (NOLOCK)        
 "                                                   
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                              
  And   #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                                                
  And    T1.TI_ENTI = '" + @ISTI_AUXI_PROV + "'                                                                
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                         
And    T2.TI_SITU = 'ACT'                                            
  And    T1.CO_EMPR = T2.CO_EMPR                                                                  
  And    T1.CO_CAJA = T2.CO_CAJA                                                 
  And    T1.AA_CAJA = T2.AA_CAJA                                                                
  And  T1.MM_CAJA = T2.MM_CAJA                                                                 
  And    T1.TI_MOVI = T2.TI_MOVI                                                                
  And    T1.NU_COMP_CAJA = T2.NU_COMP_CAJA                                                                
  And    T1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                       
  AND    T1.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                
  AND    T1.TI_DOCU_ENTI = #TMDOCP_AUXI.CO_TIPO_DOCU                                                                
  And    T1.NU_DOCU_ENTI = #TMDOCP_AUXI.NU_DOCU_PROV                                                                
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU                                                                
--  AND  (T5.ST_REGI_COMP = 'S' OR  #TMDOCP_AUXI.CO_TIPO_DOCU = 'LET')                                                           
            
  AND    EXISTS ( SELECT T6.CO_EMPR                      
    FROM TTTIOP_AJUS T6                                                                
    WHERE T6.CO_EMPR = T2.CO_EMPR                                                                
    AND  T6.CO_TIPO_OPER = T2.CO_TIPO_OPER)")                                                                
                                                                
                                               
--10.- APLICACIONES                                                                
--APLICACION A DOCUMENTOS                                                                
--IMPORTE DEL ANTICIPO QUE HA SIDO APLICADO                                  
-- O/C, ANT APLICADOS                                                                 
                                                                
                                
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                                                                
  SELECT T1.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU, #TMDOCP_AUXI.NU_DOCU_PROV, T2.CO_ENTI, T1.FE_AMAR,                                   
                                    
   #TMDOCP_AUXI.CO_MONE, T2.TI_CAMB, T2.IM_PAGO_DEST* -1, '10'                                                                
  From   TCAMAR_OCPR T1 WITH (NOLOCK), TDAMAR_OCPR T2 WITH (NOLOCK), #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH (NOLOCK)        
 "                                                                
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  And #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                                                
  AND   T5.ST_DOCU_0015 = 'N'                                                                
  And   T5.ST_DOCU_0017 = 'N'                                                                 
  And   T1.FE_AMAR  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)               
  AND   T1.TI_SITU = 'ACT'                                               
  AND   T1.CO_EMPR = T2.CO_EMPR                                                    
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC                                                                
  AND   T1.NU_AMAR = T2.NU_AMAR                                             
  AND   T1.FE_AMAR = T2.FE_AMAR                                                                
  AND   T2.CO_EMPR = #TMDOCP_AUXI.CO_EMPR       
  AND   T2.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                
  AND   T2.CO_TIDO_DEST = #TMDOCP_AUXI.CO_TIPO_DOCU                         
  AND   T2.NU_DOCU_DEST = #TMDOCP_AUXI.NU_DOCU_PROV                                                                
  AND   (NU_REND_GAST IS NULL OR NU_REND_GAST = '')                                                                
  AND   #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'                                                                 
  AND   #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU                                                            
--  AND  (T5.ST_REGI_COMP = 'S'  OR  #TMDOCP_AUXI.CO_TIPO_DOCU = 'LET')                           
                                      
")                                            
                                                                
                                                                
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                                                                
  SELECT T1.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU, #TMDOCP_AUXI.NU_DOCU_PROV, #TMDOCP_AUXI.CO_PROV, T1.FE_AMAR,                         
                                              
         #TMDOCP_AUXI.CO_MONE, T1.FA_TIPO_CAMB, T2.IM_PAGO_ORIG, '10'                                                              
         
  From  TCAMAR_OCPR T1 WITH (NOLOCK) , TDAMAR_OCPR T2 WITH (NOLOCK), #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH (NOLOCK)        
 "                                                                
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                               
  And #TMDOCP_AUXI.TI_DOCU_ANTC = 'S'                                                                
 AND   T1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                
  AND   (T5.ST_DOCU_0015 = 'S'  OR T5.ST_DOCU_0017 = 'S')                                                                
  And   T1.FE_AMAR  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                                
       
  AND   T1.TI_SITU = 'ACT'                                                             
  AND   T1.CO_EMPR = T2.CO_EMPR                                                                
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC                                                                
  AND   T1.NU_AMAR = T2.NU_AMAR                                            
  AND   T1.FE_AMAR = T2.FE_AMAR                                                                
  AND   T2.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND   T2.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                
  AND   T2.CO_TIDO_ORIG = #TMDOCP_AUXI.CO_TIPO_DOCU                                                                
  AND   T2.NU_DOCU_ORIG = #TMDOCP_AUXI.NU_DOCU_PROV                                                                
  And   T1.TI_SITU != 'ANU'        
  And   T1.TI_SITU != 'EXT'                                                               
  AND   #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'                      
  AND   #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU ")                                                          
                                                                
                                                                
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                               
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_RENO, TI_DETA)                                               
  SELECT T1.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU, #TMDOCP_AUXI.NU_DOCU_PROV, T1.CO_PROV, T1.FE_RENO,                                   
                                    
  #TMDOCP_AUXI.CO_MONE, T1.FA_TIPO_CAMB, T2.IM_RENO_MDOC /* * -1*/, '5'                                                            
           
  From   TCRENO_PROV T1 WITH (NOLOCK), TDRENO_PROV T2 WITH (NOLOCK), #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH (NOLOCK)        
"                                                    
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  And    T1.FE_RENO  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                       
  AND    T1.TI_SITU != 'ANU'       
  AND    T1.TI_SITU != 'EXT'                                                        
  AND    T1.CO_EMPR = T2.CO_EMPR                                                                
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                                                                
  AND    T1.CO_PROV = T2.CO_PROV                                                                
  AND    T1.NU_RENO = T2.NU_RENO                                                                
  AND    T1.FE_RENO = T2.FE_RENO                                     
  AND T2.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND    T2.CO_PROV = #TMDOCP_AUXI.CO_PROV                                            
  AND    T2.CO_TIPO_DOCU = #TMDOCP_AUXI.CO_TIPO_DOCU                                        
  AND    T2.NU_DOCU_PROV = #TMDOCP_AUXI.NU_DOCU_PROV                                                                
  AND    #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'                                                   
  AND  #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU                                                                
  AND  (T5.ST_REGI_COMP = 'S'                                                                
  OR  #TMDOCP_AUXI.CO_TIPO_DOCU = 'LET') ")                                                                
                                                                
                                        
--APLICACION DE N/C                                                                
--DOCUMENTOS                                                                  
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                     
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                                                
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                                                         
  SELECT T1.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU, #TMDOCP_AUXI.NU_DOCU_PROV, #TMDOCP_AUXI.CO_PROV, T1.FE_AMAR,                         
                                              
  #TMDOCP_AUXI.CO_MONE, T1.FA_TIPO_CAMB,   (( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N')) *        
PATINDEX(T2.ST_CIER_DOCU, 'N') * ISNULL(T2.IM_PAGO_CDES,0)+                                                                
    ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N')) *  PATINDEX(T2.ST_CIER_DOCU, 'S') *        
ISNULL(T2.IM_SALD_CDES,0))* -1, '10'                                                          
  From   TCAMAR_NCPR T1 WITH (NOLOCK) , TDAMAR_NCPR T2 WITH (NOLOCK), #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH        
(NOLOCK)  "     
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  And   #TMDOCP_AUXI.TI_DOCU_ANTC = 'N'                                                                
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU != '" + @OSTI_DOCU_NCRE + "'                                                           
  And    T1.FE_AMAR  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                               
  AND    T1.TI_SITU = 'ACT'                                                                 
  AND    T1.CO_EMPR = T2.CO_EMPR                                                                
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                                                                
  AND    T1.NU_AMAR = T2.NU_AMAR                                                 
  AND    T1.FE_AMAR = T2.FE_AMAR                                                                
  AND   T2.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND    T2.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                
  AND    T2.CO_TIDO_DEST = #TMDOCP_AUXI.CO_TIPO_DOCU                     
  AND    T2.NU_DOCU_DEST = #TMDOCP_AUXI.NU_DOCU_PROV                                                   
  AND    (NU_REND_GAST IS NULL OR NU_REND_GAST = '')                                                                
  AND    #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'                                                                 
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU ")                                  
                                                                
                     
  EXECUTE("INSERT INTO #TWDOCU_PROV_Q33_1                                                                 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, FE_EMIS,                                      
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                                                                 
  SELECT T1.CO_EMPR, #TMDOCP_AUXI.CO_TIPO_DOCU, #TMDOCP_AUXI.NU_DOCU_PROV, #TMDOCP_AUXI.CO_PROV, T1.FE_AMAR,                         
                                            
  #TMDOCP_AUXI.CO_MONE, T1.FA_TIPO_CAMB,                                   
(PATINDEX(T2.ST_CIER_DOCU, 'N')* ISNULL(T2.IM_PAGO_CORI,0) +                                                       
PATINDEX(T2.ST_CIER_DOCU, 'S')* ISNULL(T2.IM_SALD_CORI,0)),                                   
'10'                                                                
  From   TCAMAR_NCPR T1  WITH (NOLOCK), TDAMAR_NCPR T2 WITH (NOLOCK), #TMDOCP_AUXI WITH (NOLOCK), TTDOCU_CNTB T5 WITH        
(NOLOCK)  "                                                                
  + @VSCA_WHER + "                                                                
  And #TMDOCP_AUXI.CO_EMPR =  '" + @ISCO_EMPR + "'                                                                
  AND    T1.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
--  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = '" + @OSTI_DOCU_NCRE + "'                                           
  And    T1.FE_AMAR  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                                                               
        
  AND    T1.TI_SITU = 'ACT'                                                      
  AND    T2.CO_EMPR = #TMDOCP_AUXI.CO_EMPR                                                                
  AND    T2.CO_ENTI = #TMDOCP_AUXI.CO_PROV                                                                
  AND    T2.CO_TIDO_ORIG = #TMDOCP_AUXI.CO_TIPO_DOCU                                                                 
  AND    T2.NU_DOCU_ORIG = #TMDOCP_AUXI.NU_DOCU_PROV                                                                 
  AND    T1.CO_EMPR = T2.CO_EMPR         
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                   
  AND    T1.NU_AMAR = T2.NU_AMAR                                          
  AND    T1.FE_AMAR = T2.FE_AMAR                                                                
  AND    #TMDOCP_AUXI.CO_ESTA_DOCU != 'ANU'                                                                 
  AND    #TMDOCP_AUXI.CO_TIPO_DOCU = T5.TI_DOCU                                                                
  and    T5.ST_DOCU_0004 = 'S'")                                          
        
IF @ISST_USUA = 'S'                                                           
        
begin        
  UPDATE  #TWDOCU_PROV_Q33_1                                                                
  SET IM_COMP = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_COMP,                                   
   @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR,  @INFA_USUA), 2),                                 
                                        
   IM_CHED = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_CHED,                                   
   @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR,  @INFA_USUA), 2),                                                
                        
                         
   IM_RENO = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_RENO,                                   
   @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR,  @INFA_USUA), 2),                                                
                        
                         
                                   
   IM_PAGO = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_PAGO,                                   
   @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR,  @INFA_USUA), 2),                                                
                          
                          
   IM_LETR = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_LETR,                                           
                             
     @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR,  @INFA_USUA), 2),                                    
                                                                
   IM_ANTC = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_ANTC,                                           
                             
     @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR,  @INFA_USUA), 2),                                              
                          
        
   IM_AJUS = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_AJUS,                                           
                             
     @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR,  @INFA_USUA), 2),                                              
                          
        
   IM_APLI = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_APLI,                                           
                             
     @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR,  @INFA_USUA), 2)                                               
                        
  FROM #TWDOCU_PROV_Q33_1 T1                                                               
  WHERE  T1.CO_EMPR = @ISCO_EMPR                                  
  AND T1.CO_MONE != @ISCO_MONE                                                                
end        
        
ELSE        
        
begin        
  UPDATE  #TWDOCU_PROV_Q33_1                                                                
  SET IM_COMP = ROUND( dbo.FN_TCFACT_CAMB_Q03(T1.CO_MONE, @ISCO_MONE, T1.IM_COMP,                                                    
                    
     @VSCO_MONE_DEFA, @VSCO_MONE_EXTR, T1.FA_TIPO_CAMB, T1.FA_CAMB_EXTR), 2),                                  
                                                                  
   IM_CHED = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_CHED,                                   
   @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR, T1.FA_TIPO_CAMB), 2),                                            
                            
                         
   IM_RENO = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_RENO,                                   
   @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR, T1.FA_TIPO_CAMB), 2),                                            
                            
                         
                                   
   IM_PAGO = ROUND(dbo.FN_TCFACT_CAMB_Q03(T1.CO_MONE, @ISCO_MONE, T1.IM_PAGO,                                                        
                
     @VSCO_MONE_DEFA, @VSCO_MONE_EXTR, T1.FA_TIPO_CAMB, T1.FA_CAMB_EXTR), 2),                                                        
                
                          
   IM_LETR = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_LETR,                                           
                             
     @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR, T1.FA_TIPO_CAMB), 2),         
                                                                
   IM_ANTC = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_ANTC,                                      
                             
     @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR, T1.FA_TIPO_CAMB), 2),                                          
                              
   IM_AJUS = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_AJUS,                                           
                             
     @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR, T1.FA_TIPO_CAMB), 2),                                          
                              
   IM_APLI = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_APLI,                                           
                             
     @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR, T1.FA_TIPO_CAMB), 2)                                           
                            
  FROM #TWDOCU_PROV_Q33_1 T1                                      
  WHERE  T1.CO_EMPR = @ISCO_EMPR                                  
  AND T1.CO_MONE != @ISCO_MONE           
        
end        
                                                                
                                                                
IF @ISTI_DOCU = 'R'                                  
-- SALDOS INICIALES                                                                
  INSERT INTO #TWDOCU_PROV_Q33_2(CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV, IM_SAIN)                                              
                          
  SELECT T1.CO_EMPR, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, SUM(ISNULL(T1.IM_COMP,0)) +                                       
                                 
  SUM(ISNULL(T1.IM_CHED,0)) - SUM(ISNULL(T1.IM_PAGO,0)) - SUM(ISNULL(T1.IM_LETR,0)) -                                                
                        
  SUM(ISNULL(T1.IM_ANTC,0)) + SUM(ISNULL(T1.IM_APLI,0)) - SUM(ISNULL(T1.IM_AJUS,0))                                                  
                     
  FROM #TWDOCU_PROV_Q33_1 T1 WITH (NOLOCK)                          
  WHERE T1.FE_EMIS < @IDFE_INIC                                                                
  GROUP BY T1.CO_EMPR, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV                                                         
ELSE                                                    
  INSERT INTO #TWDOCU_PROV_Q33_2(CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV, IM_SAIN)                                              
                          
  SELECT T1.CO_EMPR, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, SUM(ISNULL(T1.IM_LETR,0)) -                                       
                                
  SUM(ISNULL(T1.IM_RENO,0)) - SUM(ISNULL(T1.IM_PAGO,0)) +                                                                 
  SUM(ISNULL(T1.IM_APLI,0)) - SUM(ISNULL(T1.IM_AJUS,0))                                                                 
  FROM #TWDOCU_PROV_Q33_1 T1 WITH (NOLOCK)                                                        
  WHERE T1.FE_EMIS < @IDFE_INIC                                                                
  GROUP BY T1.CO_EMPR, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV                                                        
                                       
  INSERT INTO #TWDOCU_PROV_Q33_2A(CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV, IM_SAIN)                                             
                           
  SELECT T2.CO_EMPR, T2.CO_AUXI_EMPR, T2.TI_DOCU, T2.NU_DOCU,                                                                 
  PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) *                                                               
         
  ISNULL(SUM(PATINDEX(T2.TI_OPER, 'ABO')* T2.IM_MVTO_CNTB) - SUM(PATINDEX(T2.TI_OPER, 'CAR')* T2.IM_MVTO_CNTB),0)                
       
  FROM  #TWTXMVTO_DIFE_PROV T2  WITH (NOLOCK)                           
  WHERE T2.CO_EMPR = @ISCO_EMPR                                                                
  /*AND  ((T2.NU_ANNO < @VSNU_ANNO_INIC )                       
       OR (T2.NU_ANNO = @VSNU_ANNO_INIC                       
       AND  T2.NU_MESE < @VSNU_MESE_INIC))    */      
  AND T2.NU_ANNO = @VSNU_ANNO_INIC                       
  AND  T2.NU_MESE < @VSNU_MESE_INIC                                          
  GROUP BY T2.CO_EMPR, T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR, T2.TI_DOCU, T2.NU_DOCU                                                      
                 
                                                        
                      
UPDATE #TWDOCU_PROV_Q33_2A                                      
SET IM_SAIN = 0                          
 FROM #TWDOCU_PROV_Q33_2A T1, #TWDOCU_PROV_Q33_1 T2                                        
 WHERE T1.CO_EMPR = T2.CO_EMPR                                         
 AND   T1.CO_PROV = T2.CO_PROV                                         
 AND   T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                                         
 AND   T1.NU_DOCU_PROV = T2.NU_DOCU_PROV                            
AND    T2.CO_MONE = @ISCO_MONE                              
                      
                                                                
  UPDATE #TWDOCU_PROV_Q33_2                                                                
  SET IM_SAIN = T1.IM_SAIN + T2.IM_SAIN                          
  FROM #TWDOCU_PROV_Q33_2 T1 WITH (NOLOCK), #TWDOCU_PROV_Q33_2A T2 WITH (NOLOCK)                                                     
                 
  WHERE T1.CO_EMPR = T2.CO_EMPR                                                                 
 AND   T1.CO_PROV = T2.CO_PROV                                                                 
  AND   T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                                                                 
  AND   T1.NU_DOCU_PROV = T2.NU_DOCU_PROV                                                                
                                                                
  UPDATE  #TWDOCU_PROV_Q33_2                                                                
  SET  IM_SAIN = 0                                                                
  WHERE  @ISCO_MONE != 'DOL'                                                                
  AND ABS(IM_SAIN) <= 0.02                                                                
  AND  ABS(IM_SAIN) > 0                                                                
                                   
                                                                
  INSERT INTO #TWDOCU_PROV_Q33_3(CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV, CO_MONE, IM_SAIN,                                     
                                  
  IM_COMP, IM_CHED,IM_RENO, IM_PAGO, IM_LETR, IM_ANTC, IM_APLI, IM_AJUS, IM_AJUS_DICA)                                               
                        
 SELECT  T1.CO_EMPR, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, MAX(T1.CO_MONE), MAX(T2.IM_SAIN),        
SUM(ISNULL(T1.IM_COMP,0)),                                                            
  SUM(ISNULL(T1.IM_CHED,0)), SUM(ISNULL(T1.IM_RENO,0)),  SUM(ISNULL(T1.IM_PAGO,0)), SUM(ISNULL(T1.IM_LETR,0)),        
SUM(ISNULL(T1.IM_ANTC,0)),                                                                 
  SUM(ISNULL(T1.IM_APLI,0)), SUM(ISNULL(T1.IM_AJUS,0)),                                      
  PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IsNull(Max(T5.IM_MVTO_CONT),0)       
  FROM #TWDOCU_PROV_Q33_1 T1        
  LEFT OUTER JOIN         
  (SELECT T2.CO_EMPR CO_EMPR, T2.CO_AUXI_EMPR CO_AUXI_EMPR, T2.TI_DOCU TI_DOCU, T2.NU_DOCU NU_DOCU,        
ISNULL(SUM(PATINDEX(T2.TI_OPER, 'ABO')* T2.IM_MVTO_CNTB) - SUM(PATINDEX(T2.TI_OPER, 'CAR')* T2.IM_MVTO_CNTB),0)        
IM_MVTO_CONT                                    
      
                                 
  FROM  #TWTXMVTO_DIFE_PROV T2 WITH (NOLOCK)                          
  WHERE T2.CO_EMPR = @ISCO_EMPR                    
  AND  (CONVERT(VARCHAR(4),T2.NU_ANNO) > @VSNU_ANNO_INIC OR (CONVERT(VARCHAR(4),T2.NU_ANNO) = @VSNU_ANNO_INIC AND        
CONVERT(VARCHAR(2),T2.NU_MESE) >= @VSNU_MESE_INIC))                                                                
  AND  (CONVERT(VARCHAR(4),T2.NU_ANNO) < @VSNU_ANNO_FINA OR (CONVERT(VARCHAR(4),T2.NU_ANNO) = @VSNU_ANNO_FINA AND         
CONVERT(VARCHAR(2),T2.NU_MESE) <= @VSNU_MESE_FINA))                   
                              
  GROUP BY T2.CO_EMPR, T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR, T2.TI_DOCU, T2.NU_DOCU) T5      
  ON   T5.CO_EMPR = T1.CO_EMPR        
  AND  T5.CO_AUXI_EMPR = T1.CO_PROV        
  AND  T5.TI_DOCU = T1.CO_TIPO_DOCU        
  AND  T5.NU_DOCU = T1.NU_DOCU_PROV         
 INNER JOIN #TWDOCU_PROV_Q33_2 T2  WITH (NOLOCK)      
  ON   T1.CO_EMPR = T2.CO_EMPR        
  AND  T1.CO_PROV = T2.CO_PROV        
  AND  T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU        
  AND  T1.NU_DOCU_PROV = T2.NU_DOCU_PROV        
  WHERE  T1.FE_EMIS >= @IDFE_INIC        
  GROUP BY T1.CO_EMPR, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV        
                                              
                              
                                                                
  INSERT INTO #TWDOCU_PROV_Q33_3(CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV, IM_SAIN,                                              
                  
  IM_COMP, IM_CHED, IM_PAGO, IM_LETR, IM_ANTC, IM_APLI, IM_AJUS, IM_AJUS_DICA)                                                       
                
  SELECT T1.CO_EMPR, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, T1.IM_SAIN, 0,                                                    
                   
  0, 0, 0, 0, 0, 0,                                                                
  PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IsNull(T5.IM_MVTO_CONT,0)        
  FROM #TWDOCU_PROV_Q33_2 T1        
  LEFT OUTER JOIN        
  (SELECT T2.CO_EMPR CO_EMPR, T2.CO_AUXI_EMPR CO_AUXI_EMPR, T2.TI_DOCU TI_DOCU, T2.NU_DOCU NU_DOCU,        
ISNULL(SUM(PATINDEX(T2.TI_OPER, 'ABO')* T2.IM_MVTO_CNTB) - SUM(PATINDEX(T2.TI_OPER, 'CAR')* T2.IM_MVTO_CNTB),0)        
IM_MVTO_CONT        
  FROM  #TWTXMVTO_DIFE_PROV T2 WITH (NOLOCK)                          
  WHERE T2.CO_EMPR = @ISCO_EMPR                                                                
  AND  (CONVERT(VARCHAR(4),T2.NU_ANNO) > @VSNU_ANNO_INIC OR  (CONVERT(VARCHAR(4),T2.NU_ANNO) = @VSNU_ANNO_INIC AND         
CONVERT(VARCHAR(2),T2.NU_MESE) >= @VSNU_MESE_INIC))                                                                
  AND  (CONVERT(VARCHAR(4),T2.NU_ANNO) < @VSNU_ANNO_FINA OR  (CONVERT(VARCHAR(4),T2.NU_ANNO) = @VSNU_ANNO_FINA AND         
CONVERT(VARCHAR(2),T2.NU_MESE) <= @VSNU_MESE_FINA))              
                  
       
                
  GROUP BY T2.CO_EMPR, T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR, T2.TI_DOCU, T2.NU_DOCU) T5        
  ON   T5.CO_EMPR = T1.CO_EMPR        
  AND  T5.CO_AUXI_EMPR = T1.CO_PROV        
  AND  T5.TI_DOCU = T1.CO_TIPO_DOCU        
  AND  T5.NU_DOCU = T1.NU_DOCU_PROV         
  WHERE  NOT EXISTS ( SELECT  T3.CO_EMPR, T3.CO_PROV, T3.CO_TIPO_DOCU, T3.NU_DOCU_PROV        
     FROM  #TWDOCU_PROV_Q33_1 T3        
   WHERE  T1.CO_EMPR = T3.CO_EMPR        
   AND T1.CO_PROV = T3.CO_PROV        
   AND  T1.CO_TIPO_DOCU = T3.CO_TIPO_DOCU        
   AND  T1.NU_DOCU_PROV = T3.NU_DOCU_PROV        
   AND T3.FE_EMIS >= @IDFE_INIC )        
      
                                                                                                                       
                                                                
  INSERT INTO #TWDOCU_PROV_Q33_3(CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV, CO_MONE, IM_SAIN,                                     
                                  
  IM_COMP, IM_CHED, IM_RENO, IM_PAGO, IM_LETR, IM_ANTC, IM_APLI, IM_AJUS, IM_AJUS_DICA)                                              
                         
  SELECT  T1.CO_EMPR, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, MAX(T1.CO_MONE), 0, SUM(ISNULL(T1.IM_COMP,0)),                   
                                                  
  SUM(ISNULL(T1.IM_CHED,0)), SUM(ISNULL(T1.IM_RENO,0)),  SUM(ISNULL(T1.IM_PAGO,0)), SUM(ISNULL(T1.IM_LETR,0)),        
SUM(ISNULL(T1.IM_ANTC,0)),                                                                 
 SUM(ISNULL(T1.IM_APLI,0)), SUM(ISNULL(T1.IM_AJUS,0)),                                                                
  PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IsNull(Max(T5.IM_MVTO_CONT),0)        
  FROM #TWDOCU_PROV_Q33_1 T1 WITH (NOLOCK)      
  LEFT OUTER JOIN         
 (SELECT T2.CO_EMPR CO_EMPR, T2.CO_AUXI_EMPR CO_AUXI_EMPR, T2.TI_DOCU TI_DOCU, T2.NU_DOCU NU_DOCU,        
ISNULL(SUM(PATINDEX(T2.TI_OPER, 'ABO')* T2.IM_MVTO_CNTB) - SUM(PATINDEX(T2.TI_OPER, 'CAR')* T2.IM_MVTO_CNTB),0)        
IM_MVTO_CONT        
  FROM  #TWTXMVTO_DIFE_PROV T2 WITH (NOLOCK)                          
 WHERE T2.CO_EMPR = @ISCO_EMPR                                                                    
  AND  (CONVERT(VARCHAR(4),T2.NU_ANNO) > @VSNU_ANNO_INIC OR  (CONVERT(VARCHAR(4),T2.NU_ANNO) = @VSNU_ANNO_INIC AND         
CONVERT(VARCHAR(2),T2.NU_MESE) >= @VSNU_MESE_INIC))                                                                
  AND  (CONVERT(VARCHAR(4),T2.NU_ANNO) < @VSNU_ANNO_FINA OR  (CONVERT(VARCHAR(4),T2.NU_ANNO) = @VSNU_ANNO_FINA AND         
CONVERT(VARCHAR(2),T2.NU_MESE) <= @VSNU_MESE_FINA))                                                                                  
                  
       
                            
 GROUP BY T2.CO_EMPR, T2.TI_AUXI_EMPR, T2.CO_AUXI_EMPR, T2.TI_DOCU, T2.NU_DOCU)   T5                                    
  ON   T5.CO_EMPR = T1.CO_EMPR        
  AND  T5.CO_AUXI_EMPR = T1.CO_PROV        
  AND  T5.TI_DOCU = T1.CO_TIPO_DOCU        
  AND  T5.NU_DOCU = T1.NU_DOCU_PROV         
  WHERE  T1.FE_EMIS >= @IDFE_INIC        
  AND NOT EXISTS ( SELECT  T3.CO_EMPR, T3.CO_PROV, T3.CO_TIPO_DOCU, T3.NU_DOCU_PROV        
     FROM  #TWDOCU_PROV_Q33_2 T3        
   WHERE  T1.CO_EMPR = T3.CO_EMPR        
   AND T1.CO_PROV = T3.CO_PROV        
   AND  T1.CO_TIPO_DOCU = T3.CO_TIPO_DOCU        
   AND  T1.NU_DOCU_PROV = T3.NU_DOCU_PROV)        
  GROUP BY T1.CO_EMPR, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV                                        
                                                                
  DELETE  #TWDOCU_PROV_Q33_3                                                                
  WHERE  IM_SAIN = 0                                                                
  AND IM_COMP = 0                                                                
  AND IM_CHED = 0                                                                
  AND IM_RENO = 0       
  AND IM_PAGO = 0                                                         
  AND IM_LETR = 0                                                                
  AND IM_ANTC = 0                                                                
  AND IM_APLI = 0                                                                
  AND IM_AJUS = 0   AND IM_AJUS_DICA = 0                                                                
                                                                
                                                             
IF @ISTI_DOCU = 'R'                                                                
BEGIN                                                                
                                                                
  UPDATE #TWDOCU_PROV_Q33_3                                                    SET IM_SAIN = -IM_COMP - IM_CHED + IM_PAGO +        
IM_LETR + IM_ANTC + IM_AJUS - IM_APLI +                                                                
       PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA * -1                                        
                               
  WHERE @ISCO_MONE != 'DOL'                                                                
  AND   ABS(IM_SAIN + IM_COMP + IM_CHED - IM_PAGO - IM_LETR - IM_ANTC - IM_AJUS +                                                    
                
    IM_APLI + PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA ) <= 0.02                            
                                           
  AND   ABS(IM_SAIN + IM_COMP + IM_CHED - IM_PAGO - IM_LETR - IM_ANTC - IM_AJUS +                                                    
                   
      IM_APLI + PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA )  > 0                             
                                          
                                                                
                                                                
  DECLARE CU_#TWDOCU_PROV_Q33_3 CURSOR FOR                                        
  SELECT  CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV, IM_COMP, IM_CHED, IM_PAGO, IM_LETR, IM_ANTC, IM_AJUS, IM_APLI                
                  
  FROM  #TWDOCU_PROV_Q33_3 WITH (NOLOCK)                                                               
  WHERE  @ISCO_MONE != 'DOL'                                                                
 AND IM_SAIN = 0                                                                
  AND ABS(IM_COMP + IM_CHED - IM_PAGO - IM_LETR - IM_ANTC + IM_APLI - IM_AJUS + IM_AJUS_DICA) <= 0.02                                
                                       
  AND ABS(IM_COMP + IM_CHED - IM_PAGO - IM_LETR - IM_ANTC + IM_APLI - IM_AJUS + IM_AJUS_DICA) > 0                                    
                                   
                                                                
  -- PARA CUADRAR LOS MONTOS                                                                
  Open CU_#TWDOCU_PROV_Q33_3                                                                
  FETCH CU_#TWDOCU_PROV_Q33_3 INTO @CSCO_EMPR, @CSCO_PROV, @CSCO_TIPO_DOCU, @CSNU_DOCU_PROV, @CNIM_COMP ,                            
                                            
    @CNIM_CHED, @CNIM_PAGO, @CNIM_LETR, @CNIM_ANTC, @CNIM_AJUS, @CNIM_APLI                                                           
            
  WHILE (@@FETCH_STATUS = 0)                                                                
   BEGIN                                                                
      IF (@@FETCH_STATUS < 0)                                                                
      Begin                                                                
   RAISERROR 20001 'FIN DE ARCHIVO'                                                                
   CLOSE CU_#TWDOCU_PROV_Q33_3                                                                
   DEALLOCATE CU_#TWDOCU_PROV_Q33_3                                                             
   RETURN                                                                
      End                                          
                                            
 IF ABS(@CNIM_COMP) > 0                                                                
   UPDATE #TWDOCU_PROV_Q33_3                                                                
   SET  IM_COMP = - IM_CHED + IM_PAGO + IM_LETR + IM_ANTC + IM_AJUS - IM_APLI +                                                      
                 
PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA * -1                                               
                        
   WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                                
 ELSE                                                                
   IF @CNIM_CHED > 0                                                        
     UPDATE #TWDOCU_PROV_Q33_3                                                                
     SET IM_CHED = - IM_COMP + IM_PAGO + IM_LETR + IM_ANTC + IM_AJUS - IM_APLI +                                                     
                  
 PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA * -1                                              
                         
     WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                     ELSE                                 
                                      
     IF ABS(@CNIM_PAGO) > 0                                                                
       UPDATE #TWDOCU_PROV_Q33_3                                                                
       SET IM_PAGO = IM_COMP + IM_CHED - IM_LETR - IM_ANTC - IM_AJUS + IM_APLI +                                                     
                  
  PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA                                                  
               
       WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                                
     ELSE                                                                
       IF ABS(@CNIM_LETR) > 0                                                                
         UPDATE #TWDOCU_PROV_Q33_3                                         
         SET IM_LETR = IM_COMP + IM_CHED - IM_PAGO - IM_ANTC - IM_AJUS + IM_APLI +                      
         PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA                                           
                            
         WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                                
       ELSE                                         
        IF @CNIM_ANTC > 0                                                                
           UPDATE #TWDOCU_PROV_Q33_3                                                       
           SET IM_ANTC = IM_COMP + IM_CHED - IM_PAGO - IM_LETR - IM_AJUS + IM_APLI +                                                 
                      
         PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA                                           
                            
           WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                       
  ELSE                                                                
          IF @CNIM_AJUS > 0                       
             UPDATE #TWDOCU_PROV_Q33_3                            
             SET IM_AJUS = IM_COMP + IM_CHED - IM_PAGO - IM_LETR - IM_ANTC + IM_APLI +                                               
                        
         PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA                                           
                            
             WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                                                                                                
     FETCH CU_#TWDOCU_PROV_Q33_3 INTO @CSCO_EMPR, @CSCO_PROV, @CSCO_TIPO_DOCU, @CSNU_DOCU_PROV, @CNIM_COMP ,                         
                                               
    @CNIM_CHED, @CNIM_PAGO, @CNIM_LETR, @CNIM_ANTC, @CNIM_AJUS, @CNIM_APLI                                                           
            
 END                                         
                                                                
  CLOSE CU_#TWDOCU_PROV_Q33_3                                                                
  DEALLOCATE CU_#TWDOCU_PROV_Q33_3                                                                
                                                             
                        
                        
  UPDATE #TWDOCU_PROV_Q33_3                                                                
  SET IM_CONV = IM_SAIN + IM_COMP + IM_CHED - IM_PAGO - IM_LETR - IM_ANTC - IM_AJUS + IM_APLI                                        
                               
                        
                                                                
  UPDATE #TWDOCU_PROV_Q33_3                                                                
  SET CO_MONE = T2.CO_MONE                                                                
  FROM #TWDOCU_PROV_Q33_3 T1, TMDOCU_PROV T2                                                                 
  WHERE T1.CO_EMPR = T2.CO_EMPR                                                                
  AND T1.CO_PROV = T2.CO_PROV                                      
  AND T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                                                                
  AND T1.NU_DOCU_PROV = T2.NU_DOCU_PROV                                                                
                                                                
  SELECT @VNNU_NULL = COUNT(NU_DOCU_PROV)                                                                
  FROM #TWDOCU_PROV_Q33_3 WITH (NOLOCK)                                                               
  WHERE CO_MONE IS NULL                                                     
  GROUP BY CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV                                                                
                                                       
--SELECT @VNNU_NULL                                      
  IF @VNNU_NULL > 0                                                                
    UPDATE #TWDOCU_PROV_Q33_3                                                                
    SET CO_MONE = T2.CO_MONE                
    FROM #TWDOCU_PROV_Q33_3 T1, #TWDOCU_PROV_Q33_1 T2                                                                
    WHERE T1.CO_EMPR = T2.CO_EMPR                                                                
  AND T1.CO_PROV = T2.CO_PROV                                                                
 AND T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                                                 
    AND T1.NU_DOCU_PROV = T2.NU_DOCU_PROV                                                                
    AND ( T2.TI_DETA = '6'                                                                 
    OR  T2.TI_DETA = '7')                                                                
                                                                
UPDATE #TWDOCU_PROV_Q33_3                                                                
SET IM_AJUS_DICA = 0                                                                
WHERE CO_MONE  = @ISCO_MONE                                                                         
OR CO_MONE IS NULL                                                            
                                                              
                                                              
IF @ISTI_REPO = 'D' /* ---------  REPORTE DETALLADO ----------*/                                                                
BEGIN               
 IF @ISDE_ORDE = '1'                                                                
  SELECT T1.CO_EMPR, T2.DE_NOMB, T3.TI_PROV, T4.DE_TIPO_PROV, T1.CO_PROV, T3.NO_CORT_PROV,                                           
                    
   T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, T1.IM_SAIN, T1.IM_COMP,                                                                
   T1.IM_CHED, T1.IM_PAGO, T1.IM_LETR, T1.IM_ANTC, T1.IM_AJUS,                                                                
   PATINDEX('0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * T1.IM_AJUS_DICA,                                              
                          
   T1.IM_APLI,                                        
   CASE T1.CO_MONE     
    WHEN 'SOL' THEN  T1.IM_CONV                                                          
    ELSE T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0)                                                                 
 END                                                                 
  FROM  #TWDOCU_PROV_Q33_3 T1 WITH (NOLOCK), TMEMPR T2 WITH (NOLOCK), TMPROV T3 WITH (NOLOCK)
  Left Outer Join TTTIPO_PROV_TESO T4      
  On T4.CO_TIPO_PROV = T3.TI_PROV      
  WHERE  T1.CO_EMPR = T2.CO_EMPR                                                                
  AND  T1.CO_EMPR = T3.CO_EMPR                                                                
  AND  T1.CO_PROV = T3.CO_PROV                                                                  
  ORDER BY T1.CO_EMPR, T3.TI_PROV, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV                                                      
                 
 ELSE                                                                
  SELECT T1.CO_EMPR, T2.DE_NOMB, T3.TI_PROV, T4.DE_TIPO_PROV, T1.CO_PROV, T3.NO_CORT_PROV,                                           
                             
   T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, T1.IM_SAIN, T1.IM_COMP,                                                                
   T1.IM_CHED, T1.IM_PAGO, T1.IM_LETR, T1.IM_ANTC, T1.IM_AJUS,                                                      
   PATINDEX('0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * T1.IM_AJUS_DICA,                                              
                          
   T1.IM_APLI,                                                                 
 CASE T1.CO_MONE                                                                
    WHEN 'SOL' THEN   T1.IM_CONV                                        
    ELSE T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0)                                                                
   END                                   
  FROM  #TWDOCU_PROV_Q33_3 T1 WITH (NOLOCK), TMEMPR T2 WITH (NOLOCK), TMPROV T3 WITH (NOLOCK)      
  Left Outer Join TTTIPO_PROV_TESO T4      
  On T4.CO_TIPO_PROV = T3.TI_PROV      
  WHERE  T1.CO_EMPR = T2.CO_EMPR                                                      
  AND  T1.CO_EMPR = T3.CO_EMPR                                                                
  AND  T1.CO_PROV = T3.CO_PROV                                                                
  ORDER BY T1.CO_EMPR, T3.TI_PROV, T3.NO_CORT_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV                                                 
                       
END                                                                
                                                                
IF @ISTI_REPO = 'R' /* ---------  REPORTE RESUMIDO ----------*/                                                                
BEGIN                                                                
 IF @ISDE_ORDE = '1'                                           
  SELECT  T1.CO_EMPR, T2.DE_NOMB, MAX(T3.TI_PROV), MAX(T4.DE_TIPO_PROV), T1.CO_PROV, T3.NO_CORT_PROV,                                
                                        
   SUM(ISNULL(IM_SAIN,0)), SUM(ISNULL(T1.IM_COMP,0)), SUM(ISNULL(T1.IM_CHED,0)),                                      
   SUM(ISNULL(T1.IM_PAGO,0)), SUM(ISNULL(T1.IM_LETR,0)), SUM(ISNULL(T1.IM_ANTC,0)),                                                  
                      
   SUM(ISNULL(T1.IM_AJUS,0)), PATINDEX('0',                                                                 
   LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * SUM(ISNULL(T1.IM_AJUS_DICA,0)),                                               
                         
   SUM(ISNULL(T1.IM_APLI,0)),                                                                
   CASE MAX(T1.CO_MONE)                                                                
    WHEN 'SOL' THEN  SUM(T1.IM_CONV)                                                             
    ELSE SUM(T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0))                                                                  
   END                                                     
   /*SUM(ISNULL(PATINDEX(T1.CO_MONE, 'DOL') * T1.IM_CONV +                                                                
   PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * T1.IM_AJUS_DICA, 0))*/                                       
                                
  FROM  #TWDOCU_PROV_Q33_3 T1 WITH (NOLOCK), TMEMPR T2 WITH (NOLOCK), TMPROV T3 WITH (NOLOCK)                                        
  Left Outer Join TTTIPO_PROV_TESO T4      
  On T4.CO_TIPO_PROV = T3.TI_PROV                               
  WHERE  T1.CO_EMPR = T2.CO_EMPR                                
  AND  T1.CO_EMPR = T3.CO_EMPR                                                                
  AND  T1.CO_PROV = T3.CO_PROV                                                        
  GROUP BY T1.CO_EMPR, T2.DE_NOMB, T1.CO_PROV, T3.NO_CORT_PROV                                                           
  ORDER BY 1, 3, 5                                
                                                                
 ELSE                                                                
  SELECT  T1.CO_EMPR, T2.DE_NOMB, MAX(T3.TI_PROV), MAX(T4.DE_TIPO_PROV), T1.CO_PROV, T3.NO_CORT_PROV,                                
                                        
   SUM(ISNULL(IM_SAIN,0)), SUM(ISNULL(T1.IM_COMP,0)), SUM(ISNULL(T1.IM_CHED,0)),                                                     
                   
   SUM(ISNULL(T1.IM_PAGO,0)), SUM(ISNULL(T1.IM_LETR,0)), SUM(ISNULL(T1.IM_ANTC,0)),                                                  
             
SUM(ISNULL(T1.IM_AJUS,0)), PATINDEX('0',                                                                 
   LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * SUM(ISNULL(T1.IM_AJUS_DICA,0)),                                               
                         
   SUM(ISNULL(T1.IM_APLI,0)),                     
   CASE MAX(T1.CO_MONE)                                                                
    WHEN 'SOL' THEN    SUM(T1.IM_CONV)                                                              
    ELSE SUM(T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0))                                                                
   END                                                                 
   /*SUM(ISNULL(PATINDEX(T1.CO_MONE, 'DOL') * T1.IM_CONV +                                                          
   PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * T1.IM_AJUS_DICA, 0))*/                                       
                                
  FROM  #TWDOCU_PROV_Q33_3 T1 WITH (NOLOCK), TMEMPR T2 WITH (NOLOCK), TMPROV T3 WITH (NOLOCK)          
  Left Outer Join TTTIPO_PROV_TESO T4      
  On T4.CO_TIPO_PROV = T3.TI_PROV                           
  WHERE  T1.CO_EMPR = T2.CO_EMPR                                                                
  AND  T1.CO_EMPR = T3.CO_EMPR                  
  AND  T1.CO_PROV = T3.CO_PROV                             
  GROUP BY T1.CO_EMPR, T2.DE_NOMB, T1.CO_PROV, T3.NO_CORT_PROV                                                                
  ORDER BY 1, 3, 6                                                                
                                                                
END                                                                
                                                                
END                              
/*SELECT CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV,                                                                 
 IM_LETR, IM_PAGO, IM_ANTC, IM_APLI, IM_AJUS, IM_AJUS_DICA, TI_DETA                                                                
FROM #TWDOCU_PROV_Q33_1                                                                
ORDER BY CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV */                                                                
                                                                
                                                                
IF @ISTI_DOCU = 'L'                                                                
BEGIN                                                                
                                                                
UPDATE #TWDOCU_PROV_Q33_3                                                                
SET IM_SAIN = -IM_LETR - IM_RENO + IM_PAGO + IM_AJUS - IM_APLI +                                                                
  PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA * -1                                             
                          
WHERE @ISCO_MONE != 'DOL'                                                                
AND   ABS(IM_SAIN + IM_LETR - IM_RENO - IM_PAGO - IM_AJUS +                                             
      IM_APLI + PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA ) <= 0.02                          
                                             
AND   ABS(IM_SAIN + IM_LETR - IM_RENO - IM_PAGO - IM_AJUS +                                                    
      IM_APLI + PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA )  > 0                             
                                          
                                                                
DELETE  #TWDOCU_PROV_Q33_3                                                                
WHERE  IM_SAIN = 0                                                                
AND IM_LETR = 0                                                                
AND IM_RENO = 0               
AND IM_CHED = 0                                                           
AND IM_PAGO = 0                                                                
AND IM_ANTC = 0                                                                
AND IM_APLI = 0                                                                
AND IM_AJUS = 0                                                                
AND IM_AJUS_DICA = 0                                                                
                                                                
DECLARE CU_#TWDOCU_PROV_Q33_3 CURSOR FOR                                                                 
SELECT  CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV, IM_LETR, IM_RENO, IM_PAGO, IM_AJUS, IM_APLI                                    
                                   
FROM  #TWDOCU_PROV_Q33_3  WITH (NOLOCK)                                                               
WHERE  @ISCO_MONE != 'DOL'                                 
AND IM_SAIN = 0                                               
AND ABS(IM_LETR - IM_RENO - IM_PAGO + IM_APLI - IM_AJUS + IM_AJUS_DICA) <= 0.02                                                      
                 
AND ABS(IM_LETR - IM_RENO - IM_PAGO + IM_APLI - IM_AJUS + IM_AJUS_DICA) > 0                  
             
                                                                
  -- PARA CUADRAR LOS MONTOS                                                                
  Open CU_#TWDOCU_PROV_Q33_3                                                                
  FETCH CU_#TWDOCU_PROV_Q33_3 INTO @CSCO_EMPR, @CSCO_PROV, @CSCO_TIPO_DOCU, @CSNU_DOCU_PROV, @CNIM_LETR,                             
                                           
    @CNIM_RENO, @CNIM_PAGO, @CNIM_AJUS, @CNIM_APLI                
  WHILE (@@FETCH_STATUS = 0)                             
  BEGIN                                                                
     IF (@@FETCH_STATUS < 0)                                           
     Begin                                                                
  RAISERROR 20001 'FIN DE ARCHIVO'                                                                
  CLOSE CU_#TWDOCU_PROV_Q33_3                                                                
  DEALLOCATE CU_#TWDOCU_PROV_Q33_3                                                
  RETURN                                                                
     End                                                                
                                                                 
 IF @CNIM_LETR > 0                                                                
   UPDATE #TWDOCU_PROV_Q33_3                                                                
   SET  IM_LETR =  IM_RENO + IM_PAGO + IM_AJUS - IM_APLI +                         
         PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA * -1                                      
                                 
   WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                                
 ELSE                                                                
   IF @CNIM_RENO > 0                                                                
     UPDATE #TWDOCU_PROV_Q33_3                                                                
     SET IM_RENO =  IM_LETR - IM_PAGO - IM_AJUS + IM_APLI +                                                                
         PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA * -1                                      
                                 
     WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                                
   ELSE                                                                
     IF @CNIM_PAGO > 0                                                                
       UPDATE #TWDOCU_PROV_Q33_3                                                     
       SET IM_PAGO = IM_LETR - IM_RENO - IM_AJUS + IM_APLI +                                                                
         PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA                                           
                            
       WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                  
     ELSE                                                                
          IF @CNIM_AJUS > 0                                                                
             UPDATE #TWDOCU_PROV_Q33_3                                                                
             SET IM_AJUS = IM_LETR - IM_RENO - IM_PAGO + IM_APLI +                                                                
           PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA                                         
                              
WHERE CURRENT OF CU_#TWDOCU_PROV_Q33_3                                                                
             
     FETCH CU_#TWDOCU_PROV_Q33_3 INTO @CSCO_EMPR, @CSCO_PROV, @CSCO_TIPO_DOCU, @CSNU_DOCU_PROV, @CNIM_LETR,                          
                                       
    @CNIM_RENO, @CNIM_PAGO, @CNIM_AJUS, @CNIM_APLI                                                                
  END                                                                
                                                   
CLOSE CU_#TWDOCU_PROV_Q33_3                                                                
DEALLOCATE CU_#TWDOCU_PROV_Q33_3                                                                
                                                                
                                                                
UPDATE #TWDOCU_PROV_Q33_3                                
SET IM_CONV = IM_SAIN + IM_LETR - IM_RENO - IM_PAGO - IM_AJUS + IM_APLI                                        
                                                                
UPDATE #TWDOCU_PROV_Q33_3                                                                
SET CO_MONE = T2.CO_MONE                                                            
FROM #TWDOCU_PROV_Q33_3 T1, TMLETR_PROV T2 --(INDEX = IX_TMDOCU_PROV_01)                                                             
          
WHERE T1.CO_EMPR = T2.CO_EMPR                                                                
AND T1.CO_PROV = T2.CO_PROV                                                                
--AND T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                                                                
AND T1.NU_DOCU_PROV = T2.NU_LETR_PROV                                   
                                                  
SELECT @VNNU_NULL = COUNT(NU_DOCU_PROV)                                                                
FROM #TWDOCU_PROV_Q33_3 WITH (NOLOCK)                                    
WHERE CO_MONE IS NULL                                                                
GROUP BY CO_EMPR, CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV                                                                
                                                                
--SELECT @VNNU_NULL                             
                                                                
IF @VNNU_NULL > 0                                                                
  UPDATE #TWDOCU_PROV_Q33_3                                                              
  SET CO_MONE = T2.CO_MONE                                                                
  FROM #TWDOCU_PROV_Q33_3 T1, #TWDOCU_PROV_Q33_1 T2                                                                
  WHERE T1.CO_TIPO_DOCU != 'LET'                                                                
  AND T1.CO_EMPR = T2.CO_EMPR                                                                
  AND T1.CO_PROV = T2.CO_PROV                                                  
  AND T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                                                                
  AND T1.NU_DOCU_PROV = T2.NU_DOCU_PROV                                                                
                                                                
UPDATE #TWDOCU_PROV_Q33_3              
SET IM_AJUS_DICA = 0                                                                
WHERE CO_MONE  = @ISCO_MONE                                                                         
OR CO_MONE IS NULL                                                            
                                                                
--SELECT * FROM #TWDOCU_PROV_Q33_3                                                                
--ORDER BY CO_PROV, CO_TIPO_DOCU, NU_DOCU_PROV                                                                  
                                         
IF @ISTI_REPO = 'D' /* ---------  REPORTE DETALLADO ----------*/                                                                
BEGIN                                                                
 IF @ISDE_ORDE = '1'                                                                
  SELECT T1.CO_EMPR, T2.DE_NOMB, T3.TI_PROV, T4.DE_TIPO_PROV, T1.CO_PROV, T3.NO_CORT_PROV,                                           
                             
   T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, IM_SAIN, T1.IM_LETR, T1.IM_RENO,                                                                
       
   T1.IM_PAGO, T1.IM_APLI, T1.IM_AJUS,                                                                 
   PATINDEX('0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * T1.IM_AJUS_DICA,                                  
            
   CASE T1.CO_MONE                                       
    WHEN 'DOL' THEN T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0)          
    ELSE T1.IM_CONV                                                       
   END                                                                   
   /*ISNULL(PATINDEX(T1.CO_MONE, 'DOL') * T1.IM_CONV +                                                                
   PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA, 0) */                          
  FROM  #TWDOCU_PROV_Q33_3 T1 WITH (NOLOCK), TMEMPR T2 WITH (NOLOCK), TMPROV T3 WITH (NOLOCK)                                        
Left Outer Join TTTIPO_PROV_TESO T4      
  On T4.CO_TIPO_PROV = T3.TI_PROV                               
  WHERE  T1.CO_EMPR = T2.CO_EMPR                                             
  AND  T1.CO_EMPR = T3.CO_EMPR                                                                
  AND  T1.CO_PROV = T3.CO_PROV                                                     
  ORDER BY T1.CO_EMPR, T3.TI_PROV, T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV                           
 ELSE                                                                
  SELECT T1.CO_EMPR, T2.DE_NOMB, T3.TI_PROV, T4.DE_TIPO_PROV, T1.CO_PROV, T3.NO_CORT_PROV,                                           
                             
   T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV, IM_SAIN, T1.IM_LETR, T1.IM_RENO,                                                                
       
   T1.IM_PAGO, T1.IM_APLI, T1.IM_AJUS,                                                                 
   PATINDEX('0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * T1.IM_AJUS_DICA,                                              
                         
   CASE T1.CO_MONE                                          
    WHEN 'SOL' THEN T1.IM_CONV                                                              
    ELSE   T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0)                                                                
   END                                                                 
   /*ISNULL(PATINDEX(T1.CO_MONE, 'DOL') * T1.IM_CONV +                                                                
   PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * IM_AJUS_DICA, 0)*/                                           
                            
  FROM  #TWDOCU_PROV_Q33_3 T1 WITH (NOLOCK), TMEMPR T2 WITH (NOLOCK), TMPROV T3 WITH (NOLOCK)                                        
Left Outer Join TTTIPO_PROV_TESO T4      
  On T4.CO_TIPO_PROV = T3.TI_PROV                               
  WHERE  T1.CO_EMPR = T2.CO_EMPR                                                                
  AND  T1.CO_EMPR = T3.CO_EMPR                                                            
  AND  T1.CO_PROV = T3.CO_PROV                                                           
  ORDER BY T1.CO_EMPR, T3.TI_PROV, T3.NO_CORT_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV                                                 
                      
END                                                                
                                      
IF @ISTI_REPO = 'R' /* ---------  REPORTE RESUMIDO ----------*/                                                                
BEGIN                                                                
 IF @ISDE_ORDE = '1'                                                                
  SELECT T1.CO_EMPR, T2.DE_NOMB, MAX(T3.TI_PROV), MAX(T4.DE_TIPO_PROV), T1.CO_PROV, T3.NO_CORT_PROV, ISNULL(SUM(ISNULL(IM_SAIN,0)),0),         
                                                    
    ISNULL(SUM(ISNULL(T1.IM_LETR,0)),0), ISNULL(SUM(ISNULL(T1.IM_RENO,0)),0), ISNULL(SUM(ISNULL(T1.IM_PAGO,0)),0),                                                 
                       
    ISNULL(SUM(ISNULL(T1.IM_APLI,0)),0), ISNULL(SUM(ISNULL(T1.IM_AJUS,0)),0),                         
    PATINDEX('0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * ISNULL(SUM(ISNULL(T1.IM_AJUS_DICA,0)),0),                              
                                         
    CASE MAX(T1.CO_MONE)                                                                
    WHEN 'SOL' THEN ISNULL(SUM(ISNULL(T1.IM_CONV,0)),0)                    
    ELSE  ISNULL(SUM(ISNULL(T1.IM_CONV,0) + ISNULL(T1.IM_AJUS_DICA, 0)),0)                                                                
    END                                                   
    /*SUM(ISNULL(PATINDEX(T1.CO_MONE, 'DOL') * T1.IM_CONV +                                                                
   PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * T1.IM_AJUS_DICA, 0))*/                                       
                                
  FROM  #TWDOCU_PROV_Q33_3 T1 WITH (NOLOCK), TMEMPR T2 WITH (NOLOCK), TMPROV T3 WITH (NOLOCK)                                        
      Left Outer Join TTTIPO_PROV_TESO T4      
  On T4.CO_TIPO_PROV = T3.TI_PROV                         
  WHERE  T1.CO_EMPR = T2.CO_EMPR                                         
  AND  T1.CO_EMPR = T3.CO_EMPR                                                                
  AND  T1.CO_PROV = T3.CO_PROV                                                                
  GROUP BY T1.CO_EMPR, T2.DE_NOMB, T1.CO_PROV, T3.NO_CORT_PROV                                                                
  ORDER BY 1, 3, 5                                                                
                                                             
                                                                
 ELSE                                                                
  SELECT T1.CO_EMPR, T2.DE_NOMB, MAX(T3.TI_PROV), MAX(T4.DE_TIPO_PROV), T1.CO_PROV, T3.NO_CORT_PROV, ISNULL(SUM(ISNULL(IM_SAIN,0)),0),         
                                                                
  ISNULL(SUM(ISNULL(T1.IM_LETR,0)),0), ISNULL(SUM(ISNULL(T1.IM_RENO,0)),0), ISNULL(SUM(ISNULL(T1.IM_PAGO,0)),0),                                                   
                
    ISNULL(SUM(ISNULL(T1.IM_APLI,0)),0), ISNULL(SUM(ISNULL(T1.IM_AJUS,0)),0),                                                                 
    PATINDEX('0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * ISNULL(SUM(ISNULL(T1.IM_AJUS_DICA,0)),0),                              
                                         
   CASE MAX(T1.CO_MONE)                                                                
    WHEN 'SOL' THEN ISNULL(SUM(ISNULL(T1.IM_CONV,0)),0)                                                                 
    ELSE ISNULL(SUM( ISNULL(T1.IM_CONV,0) + ISNULL(T1.IM_AJUS_DICA, 0)),0)                                                               
   END                                                                 
   /* SUM(ISNULL(PATINDEX(T1.CO_MONE, 'DOL') * T1.IM_CONV +                                                                
   PATINDEX( '0', LTRIM(RTRIM(STR(PATINDEX(@ISCO_MONE, 'DOL'))))) * T1.IM_AJUS_DICA, 0))*/                                       
           
  FROM  #TWDOCU_PROV_Q33_3 T1 WITH (NOLOCK), TMEMPR T2 WITH (NOLOCK), TMPROV T3 WITH (NOLOCK)                                        
     Left Outer Join TTTIPO_PROV_TESO T4      
  On T4.CO_TIPO_PROV = T3.TI_PROV                          
  WHERE  T1.CO_EMPR = T2.CO_EMPR                                                                
  AND  T1.CO_EMPR = T3.CO_EMPR                                  AND  T1.CO_PROV = T3.CO_PROV                                         
                              
  GROUP BY T1.CO_EMPR, T2.DE_NOMB, T1.CO_PROV, T3.NO_CORT_PROV      
  ORDER BY 1, 3, 6                               
END                                                                 
                                                                
END                                 
                                                                
/*DROP TABLE #TWDOCU_PROV_Q33_1                
DROP TABLE #TWDOCU_PROV_Q33_2           
DROP TABLE #TWTXMVTO_DIFE_PROV       
DROP TABLE #TMDOCP_AUXI                                                            
DROP TABLE #TWDOCU_PROV_Q33_2A                                                                
DROP TABLE #TWDOCU_PROV_Q33_3      */                                                          
                                                                
RETURN                                     
/*------------------------- FIN ------------------------------ */      
            
SET ANSI_NULLS OFF 

GO
